db2库表导出及表数据导出导入del与ixf格式

您所在的位置:网站首页 db2 import语法 db2库表导出及表数据导出导入del与ixf格式

db2库表导出及表数据导出导入del与ixf格式

2024-07-13 16:17| 来源: 网络整理| 查看: 265

db2导出当前库所有表结构 db2look -d -e -o all.sql

db2导出指定表signinfo结构

db2look -d -e -x -t signinfo -o signinfo.sql

导出库所有表数据

db2move export

导入库所有表数据

db2move import -io replace

 

生产上会由于权限问题,无法使用效率更高度load方式,只能使用import方式   一般导入导出: db2 "export to /home/xxxx.del of del select * from tablename" db2 "import from /home/xxxx.del of del insert into tablename"   db2 "export to /home/xxxx.IXF of IXF select * from tablename" db2 "import from /home/xxxx.IXF of IXF insert into tablename"

 

del与ixf区别

del格式是一个文本文件,文件按行来存储,含有回车的文本内容在del文件中会另起一行,del文件可视。 ixf格式保存的是结构和数据,是一个二进制文件,ixf文件不可视。    千万级的数据,import耗时约50分钟,但加上compound=100 ,效率提高约十倍 使用 compound 选项,如在 MODIFIED BY 语句后使用 compound=n,以便将插入语句中的 n 行记录作为一组一起导入。 对比逐行记录插入的方式,compound方式会在每n条记录而不是每条记录插入后等待返回的SQL执行结果,这种方式减少了网络的通信量。 compound的范围为 1 - 100。 db2 "import from /home/xxxx.IXF of ixf modified by compound=100 insert into tablename"

 

commitcount,在导入的过程中你可以100条或1000条左右数据就自动提交一次,看数据量大小。一般控制在3万条以下提交一次适宜

db2 "import from /home/xxxx.IXF of ixf modified by compound=100 commitcount 10000 insert into tablename"  实操,86000条数据,不用 compound=100 commitcount 10000,执行完成花费10秒,用了后,为4秒。

import在日志空间不足的情况下一般使用load

db2 "load from User.del of del insert into user"

 

但是load在违反唯一性约束大量插入重复数据的情况可能造成Pending整张表无法使用,terminate直接解决问题;写法如下:

db2 "load from USER.del of del terminate into user"

 

大表数据清空用delete会产生大量的日志效率很低,考虑用load...replace

db2 "load from USER.del of del replace into user"

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3